Controlling Communication Between Whitespace Devices

ABSTRACT

Methods, apparatuses, and computer program products for controlling communication between whitespace devices are provided. Embodiments include identifying, by a base-station array controller, a user whitespace device within a coverage area of a base-station array, wherein the base-station array includes a plurality of base-station whitespace devices of varying power consumption profiles; identifying for each base-station whitespace device, by the base-station array controller, transmission channels available to the base-station whitespace device; selecting from the plurality of base-station whitespace devices, by the base-station array controller, a base-station whitespace device based on the power consumption profiles and the identified available transmission channels corresponding to the plurality of base-station whitespace devices; and instructing, by the base-station array controller, the selected base-station whitespace device to communicate with the identified user whitespace device on one of the identified available transmission channels.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The field of the invention is data processing, or, more specifically,methods, apparatuses, and computer program products for controllingcommunication between whitespace devices.

2. Description of Related Art

In telecommunications, whitespaces refer to frequencies allocated tobroadcasting services but not used locally. National and internationalbodies assign bands for specific uses, and in most cases, license therights to the spectrum. This frequency allocation process creates a bandplan, in which guard bands may be assigned between used radio bands orchannels to avoid interference. In addition, there may be unusedportions of radio spectrum that have either never been used or arebecoming available as a result of technical changes.

In the United States, the Federal Communications Commission (FCC) ruledthat unlicensed devices guaranteeing that they will not interfere withassigned broadcasts can use the empty whitespaces in the frequencyspectrum. A device intended to use these available channels is oftenreferred as a whitespace device (WSD). A whitespace device may be usedto transmit data to another whitespace device over availabletransmission channels. For example, various proposals, including IEEE802.22 have advocated using whitespaces left by the termination ofanalog TV to provide wireless broadband Internet access. The number oftransmission channels available to a whitespace device may be dependentupon the coverage area of the whitespace device which is a function ofthe transmitting power of the whitespace device.

In general, the higher the transmission power of a whitespace device,the greater the coverage area and the higher the throughput thewhitespace device can provide. However, in densely populated urbanareas, user-base of bandwidth is high and thus the whitespace spectrumavailable to high transmission power whitespace devices is limited. Inthis situation, some low transmission power whitespace devices may havemore available transmission channels than a high transmission powerwhitespace device. While the low transmission power whitespace devicemay have the available transmission channels, the low transmission powerwhitespace device may not provide enough throughput to meet a userwhitespace device's needs. Consequently, selecting a transmittingwhitespace device with a high transmission power or a low transmissionpower may result in one or more performance tradeoffs includinginsufficient throughput capabilities or an insufficient coverage area.

SUMMARY OF THE INVENTION

Methods, apparatuses, and computer program products for controllingcommunication between whitespace devices are provided. Embodimentsinclude identifying, by a base-station array controller, a userwhitespace device within a coverage area of a base-station array,wherein the base-station array includes a plurality of base-stationwhitespace devices of varying power consumption profiles; identifyingfor each base-station whitespace device, by the base-station arraycontroller, transmission channels available to the base-stationwhitespace device; selecting from the plurality of base-stationwhitespace devices, by the base-station array controller, a base-stationwhitespace device based on the power consumption profiles and theidentified available transmission channels corresponding to theplurality of base-station whitespace devices; and instructing, by thebase-station array controller, the selected base-station whitespacedevice to communicate with the identified user whitespace device on oneof the identified available transmission channels.

The foregoing and other objects, features and advantages of theinvention will be apparent from the following more particulardescriptions of exemplary embodiments of the invention as illustrated inthe accompanying drawings wherein like reference numbers generallyrepresent like parts of exemplary embodiments of the invention.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 sets forth a block diagram of a base-station array comprising aplurality of base-station whitespace devices in accordance withembodiments of the present invention.

FIG. 2 sets forth a block diagram of automated computing machinerycomprising an exemplary base-station array controller useful incontrolling communication between whitespace devices according toembodiments of the present invention.

FIG. 3 sets forth a flow chart illustrating an exemplary method forcontrolling communication between whitespace devices according toembodiments of the present invention.

FIG. 4 sets forth a flow chart illustrating a further exemplary methodfor controlling communication between whitespace devices according toembodiments of the present invention.

FIG. 5 sets forth a flow chart illustrating a further exemplary methodfor controlling communication between whitespace devices according toembodiments of the present invention.

DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS

Exemplary methods, apparatuses, and computer program products forcontrolling communication between whitespace devices in accordance withthe present invention are described with reference to the accompanyingdrawings, beginning with FIG. 1. FIG. 1 sets forth a block diagram of abase-station array (102) comprising a plurality of base-stationwhitespace devices in accordance with embodiments of the presentinvention. The base-station array (102) of FIG. 1 includes a hightransmission power base-station whitespace device (110), a mediumtransmission power base-station whitespace device (108), and a lowtransmission power base-station whitespace device (106).

A whitespace device is any device with a wireless transmitter thatcommunicates over whitespace frequencies. In this disclosure, the phrase“whitespace frequency” generally refers to one or more frequency bandsof electromagnetic radiation allocated by a government for unlicenseduse by the public. In some examples, the whitespace frequency mayinclude one or more unused channels of a television broadcast spectrum.These whitespace devices may operate in a cognitive manner in which thedevices first scan a prescribed spectrum to detect TV band signals fromlicensed primary users (or any users) and then select unused channels inorder to avoid interference with the licensed signals.

In some examples, sensing whether a whitespace frequency is availablefor use may include scanning of one or more frequencies to determinewhether other uses (e.g., licensed users) are already using thewhitespace frequency. However, other techniques for sensing whether awhitespace frequency is available may also be used. For example,geo-location sensing could be used to determine the geo-location of thewhitespace device, and based on the geo-location of the whitespacedevice, available whitespace frequencies or channels may be determined.For example, a whitespace spectrum map indicating available channels maybe retrieved from a spectrum-map database. The whitespace device maylimit transmission to available whitespace channels so as to protectprimary licensed users from interference from the whitespace device.

A whitespace device may operate using an antenna to broadcast awhitespace broadcast signal to a corresponding antenna of a whitespacereceiver. As non-limiting examples, a whitespace broadcast signal may begenerated by a whitespace transmitter to conform to a digital broadcastformat, such as an Advanced Television Systems Committee (ATSC) format,a Digital Video Broadcasting (DVB) format, a Terrestrial DigitalMultimedia Broadcasting (T-DMB) format, an Integrated Services DigitalBroadcasting Terrestrial (ISDB-T) format, or a Moving Picture ExpertsGroup Transport Stream (MPEG-TS) format, provided by InternationalStandard ISO/IEC 13818-1, to name only a few. ATSC standards are a setof standards developed by the Advanced Television Systems Committee fordigital television transmission. DVB standards are a suite ofinternationally accepted, open standards for digital television, and arepublished by a Joint Technical Committee (JTC) of EuropeanTelecommunications Standards Institute (ETSI), European Committee forElectrotechnical Standardization (CENELEC), and European BroadcastingUnion (EBU). DMB is a digital radio transmission technology for sendingmultimedia data to mobile devices. ISDB is a Japanese standard fordigital television and digital radio. Other wireless standards mightalso be used for a broadcast signal, including mobile broadcaststandards such as Advanced Television Systems Committee—Mobile/Handheld(ATSC M/H), FO EV, Digital Multimedia Broadcast-handheld (DVB-H),Digital Multimedia Broadcast-satellite services to handheld DVB-SH, andnext generation mobile broadcast standards. In addition, NTSC standardsand next generation National Television System Committee NTSC standardsmight also be used in some examples. Also, standards such as thirdgeneration (3G) standards, third-generation multimedia broadcastmulticast service (3G MBMS), Broadcast and Multicast Services (BCMCS),long term evolution broadcast (LTE(broadcast)), or numerous otherstandards may be used as well.

A base-station whitespace device is a device that is used fortransmitting data via a whitespace frequency to a user whitespacedevice. A user whitespace device is any device that is capable ofreceiving whitespace broadcast signals. Examples of user whitespacedevices may include a mobile phone that includes a whitespacetransmitter or receiver. For example, a base-station whitespace devicemay be used to transmit broadband Internet data to a user whitespacedevice. Base-station whitespace devices may be classified according totransmission power consumption. For example, the high transmission powerbase-station whitespace device (110) may be a fixed device thattransmits at a maximum of four watts (W), the medium transmission powerbase-station whitespace device (108) may be a mobile device thattransmits at a maximum of one hundred milli-watts (also referred to as a‘Mode II’ device), and the low transmission power base-stationwhitespace device (106) may be a mobile device that transmits at amaximum strength of forty milli-watts (also referred to as a ‘Mode I’device).

As explained above, the coverage area of a base-station whitespacedevice (i.e., the area that the base-station's broadcast whitespacesignal is capable of reaching), directly corresponds to the transmissionpower of the base-station whitespace device. In the example of FIG. 1, acoverage area (107) of the low transmission power base-stationwhitespace device (106) is smaller than a coverage area (109) of themedium transmission power base-station whitespace device (108), which isstill smaller than a coverage area (111) of the high power base-stationwhitespace device (110). In many areas, the coverage areas (107, 109,111) overlap and a user whitespace device may be in more than onecoverage area. For example, in FIG. 1 a first user whitespace device(130) is within the coverage area (107) of the low transmission powerbase-station whitespace device (106) and the coverage area (111) of thehigh transmission power base-station whitespace device (110), while asecond user whitespace device (132) is only within the coverage area(111) of the high transmission power base-station whitespace device(110). A third user whitespace device (134) is outside both the coveragearea (107) of the low transmission power base-station whitespace device(106) and the coverage area (111) of the high transmission powerbase-station whitespace device (110) but is within the coverage area(109) of the medium power base-station whitespace device (108).

In a particular embodiment, the base-station whitespace devices (106,110, 108) may each be configured to transmit data to one or more userwhitespace devices (130, 132, 134). However, selecting a base-stationwhitespace devices as the sole device to transmit data to a particularuser whitespace device may represent one or more performance tradeoffsincluding insufficient throughput capabilities or an insufficientcoverage area. To overcome this problem, the base-station whitespacedevices (106, 110, 108) are combined into a base-station array (104).Combining the base-station whitespace devices into a base-station arrayenables the available channels, coverage areas, and throughputcapabilities of all the base-station whitespace devices to be pulledtogether so that data can be delivered to a user whitespace device bythe optimal base-station whitespace device.

A base-station array controller (102) is configured to determine whichbase-station whitespace device should be instructed to communicate withwhich user whitespace device and in general is configured to controlcommunication between the whitespace devices (106, 110, 108, 130, 132,134). Specifically, the base-station array controller (102) isconfigured to identify a user whitespace device within a coverage areaof the base-station array (102); identify for each base-stationwhitespace device, transmission channels available to the base-stationwhitespace device; select from the plurality of base-station whitespacedevices a base-station whitespace device based on the power consumptionprofiles and the identified available transmission channelscorresponding to the plurality of base-station whitespace devices; andinstruct the selected base-station whitespace device to communicate withthe identified user whitespace device on one of the identified availabletransmission channels.

By utilizing a base-station array, each base-station whitespace devicemay be paired with a user whitespace device to optimize the benefits ofthe base-station whitespace devices and the requirements of the userwhitespace device. For example, user whitespace devices that are withinclose proximity to a low transmission power base-station whitespacedevice may be assigned to that base-station, while the transmissionchannels available to a high transmission power base-station whitespacedevice may be reserved for a user whitespace device that is further awayfrom a base-station array.

Controlling communication between whitespace devices in accordance withthe present invention is generally implemented with computers, that is,with automated computing machinery. In the example of FIG. 1, forexample, the low transmission power base-station whitespace device(106), the medium transmission power base-station whitespace device(108), the high transmission power base-station whitespace device (110),the first user whitespace device (130), the second user whitespacedevice (132), the third user whitespace device (134), and thebase-station array controller (102) are implemented to some extent atleast as computers. For further explanation, therefore, FIG. 2 setsforth a block diagram of automated computing machinery comprising anexemplary base-station array controller (252) useful in controllingcommunication between whitespace devices according to embodiments of thepresent invention. The base-station array controller (252) of FIG. 2includes at least one computer processor (256) or ‘CPU’ as well asrandom access memory (268) (RAM') which is connected through a highspeed memory bus (266) and bus adapter (258) to processor (256) and toother components of the base-station array controller (252).

Stored in RAM (268) is a base-station array controller module (291) thatincludes computer program instructions for controlling communicationbetween whitespace devices. In the example of FIG. 2, the base-stationarray controller module (291) includes computer program instructionsthat when executed by the computer processor (256) cause thebase-station array controller (252) to carry out the steps of:identifying, by the base-station array controller (252), a userwhitespace device (293) within a coverage area of a base-station array(104); identifying for each base-station whitespace device (110, 106,104), by the base-station array controller (252), transmission channelsavailable to the base-station whitespace device; selecting from theplurality of base-station whitespace devices (110, 106, 104), by thebase-station array controller (252), a base-station whitespace devicebased on the power consumption profiles and the identified availabletransmission channels corresponding to the plurality of base-stationwhitespace devices (110, 106, 104); and instructing, by the base-stationarray controller (252), the selected base-station whitespace device tocommunicate with the identified user whitespace device (293) on one ofthe identified available transmission channels.

Also stored in RAM (268) is an operating system (254). Operating systemsuseful controlling communication between whitespace devices according toembodiments of the present invention include UNIX™, Linux™, MicrosoftXP™, AIX™, IBM's i5/OS™, and others as will occur to those of skill inthe art. The operating system (254) and the base-station arraycontroller module (291) in the example of FIG. 2 are shown in RAM (268),but many components of such software typically are stored innon-volatile memory also, such as, for example, on a disk drive (270).

The base-station array controller (252) of FIG. 2 includes disk driveadapter (272) coupled through expansion bus (260) and bus adapter (258)to processor (256) and other components of the base-station arraycontroller (252). Disk drive adapter (272) connects non-volatile datastorage to the base-station array controller (252) in the form of diskdrive (270). Disk drive adapters useful in computers for controllingcommunication between whitespace devices according to embodiments of thepresent invention include Integrated Drive Electronics (‘IDE’) adapters,Small Computer System Interface (‘SCSI’) adapters, and others as willoccur to those of skill in the art. Non-volatile computer memory alsomay be implemented for as an optical disk drive, electrically erasableprogrammable read-only memory (so-called ‘EEPROM’ or ‘Flash’ memory),RAM drives, and so on, as will occur to those of skill in the art.

The example base-station array controller (252) of FIG. 2 includes oneor more input/output (‘I/O’) adapters (278). I/O adapters implementuser-oriented input/output through, for example, software drivers andcomputer hardware for controlling output to display devices such ascomputer display screens, as well as user input from user input devices(281) such as keyboards and mice. The example base-station arraycontroller (252) of FIG. 2 includes a video adapter (283), which is anexample of an I/O adapter specially designed for graphic output to adisplay device (280) such as a display screen or computer monitor. Videoadapter (283) is connected to processor (256) through a high speed videobus (264), bus adapter (258), and the front side bus (262), which isalso a high speed bus.

The exemplary base-station array controller (252) of FIG. 2 includes acommunications adapter (267) for data communications with othercomputers (282) and for data communications with a data communicationsnetwork (200). Such data communications may be carried out seriallythrough RS-232 connections, through external buses such as a UniversalSerial Bus (‘USB’), through data communications networks such as IP datacommunications networks, and in other ways as will occur to those ofskill in the art. In addition, the communications adapter (267) may be awhitespace transmitter/receiver that is capable of communicating withthe base-station whitespace devices and the user whitespace devices witha variety of communication protocols including over a whitespacefrequency. Communications adapters implement the hardware level of datacommunications through which one computer sends data communications toanother computer, directly or through a data communications network.Examples of communications adapters useful for controlling communicationbetween whitespace devices according to embodiments of the presentinvention include modems for wired dial-up communications, Ethernet(IEEE 802.3) adapters for wired data communications networkcommunications, and 802.11 adapters for wireless data communicationsnetwork communications.

For further explanation, FIG. 3 sets forth a flow chart illustrating anexemplary method for controlling communication between whitespacedevices according to embodiments of the present invention. The method ofFIG. 3 includes identifying (302), by a base-station array controller(342), a user whitespace device (340) within a coverage area of abase-station array (370). In the example of FIG. 3, the base-stationarray (370) includes a plurality of base-station whitespace devices(344, 345) of varying power consumption profiles (320). Identifying(302), by a base-station array controller (342), a user whitespacedevice (340) within a coverage area of a base-station array (370) may becarried out by receiving a geo-location of the user whitespace device;comparing the geo-location to the coverage area of the array (370); andreceiving an indication from one of the base-station whitespace devicesindicating the user whitespace devices is within a coverage area of thebase-station array (370).

The method of FIG. 3 also includes identifying (304) for eachbase-station whitespace device (344, 345), by the base-station arraycontroller (342), transmission channels (322) available to thebase-station whitespace device. Identifying (304) for each base-stationwhitespace device (344, 345), by the base-station array controller(342), transmission channels (322) available to the base-stationwhitespace device may be carried out by scanning transmission channelsfor transmission by other devices; and spectrum sensing.

The method of FIG. 3 includes selecting (306) from the plurality ofbase-station whitespace devices (344, 345), by the base-station arraycontroller (342), a base-station whitespace device (344) based on thepower consumption profiles (320) and the identified availabletransmission channels (322) corresponding to the plurality ofbase-station whitespace devices (344, 345). A power consumption profileindicates the transmission power capabilities of a base-stationwhitespace device. Selecting (306) from the plurality of base-stationwhitespace devices (344, 345), by the base-station array controller(342), a base-station whitespace device (344) based on the powerconsumption profiles (320) and the identified available transmissionchannels (322) corresponding to the plurality of base-station whitespacedevices (344, 345) may be carried out by detecting the requirements ofthe user whitespace device including throughput requirements; anddetecting distance of user whitespace devices from each of thebase-station whitespace devices; and matching the user whitespacedevices to the available channels of the base-stations to maximizebenefits of the base-stations.

The method of FIG. 3 includes instructing (308), by the base-stationarray controller (342), the selected base-station whitespace device(344) to communicate with the identified user whitespace device (340) onone of the identified available transmission channels (322). Instructing(308), by the base-station array controller (342), the selectedbase-station whitespace device (344) to communicate with the identifieduser whitespace device (340) on one of the identified availabletransmission channels (322) may be carried out by transmitting aninstruction message to the selected base-station whitespace device.

For further explanation, FIG. 4 sets forth a flow chart illustrating afurther exemplary method for controlling communication betweenwhitespace devices according to embodiments of the present invention.The method of FIG. 4 is similar to the method of FIG. 3 in that themethod of FIG. 4 also includes: identifying (302) a user whitespacedevice (340) within a coverage area of a base-station array (370);identifying (304) for each base-station whitespace device (344, 345)transmission channels (322) available to the base-station whitespacedevice; selecting (306) from the plurality of base-station whitespacedevices (344, 345) a base-station whitespace device (344) based on thepower consumption profiles (320) and the identified availabletransmission channels (322) corresponding to the plurality ofbase-station whitespace devices (344, 345); and instructing (308) theselected base-station whitespace device (344) to communicate with theidentified user whitespace device (340) on one of the identifiedavailable transmission channels (322).

In the method of FIG. 4, however, identifying (302) a user whitespacedevice (340) within a coverage area of a base-station array (370)includes retrieving (402) from a spectrum-map database (490), by thebase-station array controller (342), spectrum maps (460) indicatingtransmission channels available to the plurality of base-stationwhitespace devices (344, 345) within the base-station array (370). Aspectrum-map database may be a storage location maintained by theFederal Communications Commission (FCC). The spectrum maps may indicatecurrent and future utilization and reservations of the spectrum.Retrieving (402) from a spectrum-map database (490), by the base-stationarray controller (342), spectrum maps (460) indicating transmissionchannels available to the plurality of base-station whitespace devices(344, 345) within the base-station array (370) may be carried out bytransmitting a geo-location and power consumption profile to an FCCdatabase; and receiving a spectrum map corresponding to the geo-locationand power consumption profile.

In the method of FIG. 4, selecting (306) from the plurality ofbase-station whitespace devices (344, 345) a base-station whitespacedevice (344) includes selecting (404) from the plurality of base-stationwhitespace devices (344, 345) a base-station whitespace device (344)based on a location (450) of the identified user whitespace device (340)relative to locations (452) of the base-station whitespace devices (344,345). Selecting (404) from the plurality of base-station whitespacedevices (344, 345) a base-station whitespace device (344) based on alocation (450) of the identified user whitespace device (340) relativeto locations (452) of the base-station whitespace devices (344, 345) maybe carried out by selecting the lowest transmission power base-stationthat has a coverage area that includes a user whitespace device; andreserving channels of a higher transmission power base-station for userwhitespace devices outside coverage areas of lower transmission powerbase-station whitespace devices.

In the method of FIG. 4, selecting (306) from the plurality ofbase-station whitespace devices (344, 345) a base-station whitespacedevice (344) includes selecting (406) from the plurality of base-stationwhitespace devices (344, 345) a base-station whitespace device (344)based on throughput requirements (454) of the identified user whitespacedevice (340). Selecting (406) from the plurality of base-stationwhitespace devices (344, 345) a base-station whitespace device (344)based on throughput requirements (454) of the identified user whitespacedevice (340) may be carried out by selecting higher transmission powerbase-station whitespace devices for user whitespace devices requiringhigher throughput and reserving lower transmission power base-stationwhitespace devices for user whitespace devices requiring lowerthroughput.

For further explanation, FIG. 5 sets forth a flow chart illustrating afurther exemplary method for controlling communication betweenwhitespace devices according to embodiments of the present invention.The method of FIG. 5 is similar to the method of FIG. 3 in that themethod of FIG. 5 also includes: identifying (302) a user whitespacedevice (340) within a coverage area of a base-station array (370);identifying (304) for each base-station whitespace device (344, 345)transmission channels (322) available to the base-station whitespacedevice; selecting (306) from the plurality of base-station whitespacedevices (344, 345) a base-station whitespace device (344) based on thepower consumption profiles (320) and the identified availabletransmission channels (322) corresponding to the plurality ofbase-station whitespace devices (344, 345); and instructing (308) theselected base-station whitespace device (344) to communicate with theidentified user whitespace device (340) on one of the identifiedavailable transmission channels (322).

The method of FIG. 5 also includes detecting (502), by the base-stationarray controller (342), a change (550) in a location (450) of thewhitespace user device (340) relative to locations (452) of thebase-station whitespace devices (344, 345). Detecting (502), by thebase-station array controller (342), a change (550) in a location (450)of the whitespace user device (340) relative to locations (452) of thebase-station whitespace devices (344, 345) may be carried out byreceiving data indicating geo-location of user whitespace device; andcomparing the received data to previously receiving geo-location data todetermine the change in location of the user whitespace device.

The method of FIG. 5 includes selecting (504) from the plurality ofbase-station whitespace devices (344, 345), by the base-station arraycontroller (342), another base-station whitespace device (345) based onthe power consumption profiles (320), the determined availabletransmission channels (322), and the location (450) of the identifieduser whitespace device (342) relative to the locations (452) of thebase-station whitespace devices (344, 345). Selecting (504) from theplurality of base-station whitespace devices (344, 345), by thebase-station array controller (342), another base-station whitespacedevice (345) based on the power consumption profiles (320), thedetermined available transmission channels (322), and the location (450)of the identified user whitespace device (342) relative to the locations(452) of the base-station whitespace devices (344, 345) may be carriedout by selecting the lowest transmission power base-station that has acoverage area that includes a user whitespace device; and reservingchannels of a higher transmission power base-station for user whitespacedevices outside coverage areas of lower transmission power base-stationwhitespace devices.

The method of FIG. 5 includes instructing (506), by the base-stationarray controller (342), the selected other base-station whitespacedevice (345) to communicate with the identified user whitespace device(342) on one of the identified available transmission channels (322).Instructing (506), by the base-station array controller (342), theselected other base-station whitespace device (345) to communicate withthe identified user whitespace device (342) on one of the identifiedavailable transmission channels (322) may be carried out by transmittingan instruction message to the selected base-station whitespace device.

Exemplary embodiments of the present invention are described largely inthe context of a fully functional computer system for controllingcommunication between whitespace devices. Readers of skill in the artwill recognize, however, that the present invention also may be embodiedin a computer program product disposed upon computer readable storagemedia for use with any suitable data processing system. Such computerreadable storage media may be any storage medium for machine-readableinformation, including magnetic media, optical media, or other suitablemedia. Examples of such media include magnetic disks in hard drives ordiskettes, compact disks for optical drives, magnetic tape, and othersas will occur to those of skill in the art. Persons skilled in the artwill immediately recognize that any computer system having suitableprogramming means will be capable of executing the steps of the methodof the invention as embodied in a computer program product. Personsskilled in the art will recognize also that, although some of theexemplary embodiments described in this specification are oriented tosoftware installed and executing on computer hardware, nevertheless,alternative embodiments implemented as firmware or as hardware are wellwithin the scope of the present invention.

As will be appreciated by one skilled in the art, aspects of the presentinvention may be embodied as a system, method or computer programproduct. Accordingly, aspects of the present invention may take the formof an entirely hardware embodiment, an entirely software embodiment(including firmware, resident software, micro-code, etc.) or anembodiment combining software and hardware aspects that may allgenerally be referred to herein as a “circuit,” “module” or “system.”Furthermore, aspects of the present invention may take the form of acomputer program product embodied in one or more computer readablemedium(s) having computer readable program code embodied thereon.

Any combination of one or more computer readable medium(s) may beutilized. The computer readable medium may be a computer readable signalmedium or a computer readable storage medium. A computer readablestorage medium may be, for example, but not limited to, an electronic,magnetic, optical, electromagnetic, infrared, or semiconductor system,apparatus, or device, or any suitable combination of the foregoing. Morespecific examples (a non-exhaustive list) of the computer readablestorage medium would include the following: an electrical connectionhaving one or more wires, a portable computer diskette, a hard disk, arandom access memory (RAM), a read-only memory (ROM), an erasableprogrammable read-only memory (EPROM or Flash memory), an optical fiber,a portable compact disc read-only memory (CD-ROM), an optical storagedevice, a magnetic storage device, or any suitable combination of theforegoing. In the context of this document, a computer readable storagemedium may be any tangible medium that can contain, or store a programfor use by or in connection with an instruction execution system,apparatus, or device.

A computer readable signal medium may include a propagated data signalwith computer readable program code embodied therein, for example, inbaseband or as part of a carrier wave. Such a propagated signal may takeany of a variety of forms, including, but not limited to,electro-magnetic, optical, or any suitable combination thereof. Acomputer readable signal medium may be any computer readable medium thatis not a computer readable storage medium and that can communicate,propagate, or transport a program for use by or in connection with aninstruction execution system, apparatus, or device.

Program code embodied on a computer readable medium may be transmittedusing any appropriate medium, including but not limited to wireless,wireline, optical fiber cable, RF, etc., or any suitable combination ofthe foregoing.

Computer program code for carrying out operations for aspects of thepresent invention may be written in any combination of one or moreprogramming languages, including an object oriented programming languagesuch as Java, Smalltalk, C++ or the like and conventional proceduralprogramming languages, such as the “C” programming language or similarprogramming languages. The program code may execute entirely on theuser's computer, partly on the user's computer, as a stand-alonesoftware package, partly on the user's computer and partly on a remotecomputer or entirely on the remote computer or server. In the latterscenario, the remote computer may be connected to the user's computerthrough any type of network, including a local area network (LAN) or awide area network (WAN), or the connection may be made to an externalcomputer (for example, through the Internet using an Internet ServiceProvider).

Aspects of the present invention are described above with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems) and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer program instructions. These computer program instructions maybe provided to a processor of a general purpose computer, specialpurpose computer, or other programmable data processing apparatus toproduce a machine, such that the instructions, which execute via theprocessor of the computer or other programmable data processingapparatus, create means for implementing the functions/acts specified inthe flowchart and/or block diagram block or blocks.

These computer program instructions may also be stored in a computerreadable medium that can direct a computer, other programmable dataprocessing apparatus, or other devices to function in a particularmanner, such that the instructions stored in the computer readablemedium produce an article of manufacture including instructions whichimplement the function/act specified in the flowchart and/or blockdiagram block or blocks.

The computer program instructions may also be loaded onto a computer,other programmable data processing apparatus, or other devices to causea series of operational steps to be performed on the computer, otherprogrammable apparatus or other devices to produce a computerimplemented process such that the instructions which execute on thecomputer or other programmable apparatus provide processes forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof code, which comprises one or more executable instructions forimplementing the specified logical function(s). It should also be notedthat, in some alternative implementations, the functions noted in theblock may occur out of the order noted in the figures. For example, twoblocks shown in succession may, in fact, be executed substantiallyconcurrently, or the blocks may sometimes be executed in the reverseorder, depending upon the functionality involved. It will also be notedthat each block of the block diagrams and/or flowchart illustration, andcombinations of blocks in the block diagrams and/or flowchartillustration, can be implemented by special purpose hardware-basedsystems that perform the specified functions or acts, or combinations ofspecial purpose hardware and computer instructions.

It will be understood from the foregoing description that modificationsand changes may be made in various embodiments of the present inventionwithout departing from its true spirit. The descriptions in thisspecification are for purposes of illustration only and are not to beconstrued in a limiting sense. The scope of the present invention islimited only by the language of the following claims.

1-6. (canceled)
 7. An apparatus for controlling communication betweenwhitespace devices, the apparatus comprising a computer processor, acomputer memory operatively coupled to the computer processor, thecomputer memory having disposed within it computer program instructionsthat when executed by the computer processor cause the apparatus tocarry out the steps of: identifying, by a base-station array controller,a user whitespace device within a coverage area of a base-station array,wherein the base-station array includes a plurality of base-stationwhitespace devices of varying power consumption profiles; identifyingfor each base-station whitespace device, by the base-station arraycontroller, transmission channels available to the base-stationwhitespace device; selecting from the plurality of base-stationwhitespace devices, by the base-station array controller, a base-stationwhitespace device based on the power consumption profiles and theidentified available transmission channels corresponding to theplurality of base-station whitespace devices; and instructing, by thebase-station array controller, the selected base-station whitespacedevice to communicate with the identified user whitespace device on oneof the identified available transmission channels.
 8. The apparatus ofclaim 7 wherein selecting from the plurality of base-station whitespacedevices, by the base-station array controller, a base-station whitespacedevice is further based on a location of the identified user whitespacedevice relative to locations of the base-station whitespace devices. 9.The apparatus of claim 7 wherein selecting from the plurality ofbase-station whitespace devices, by the base-station array controller, abase-station whitespace device is further based on throughputrequirements of the identified user whitespace device.
 10. The apparatusof claim 7 further comprising computer program instructions that whenexecuted by the computer processor cause the apparatus to carry out thesteps of: detecting, by the base-station array controller, a change in alocation of the whitespace user device relative to locations of thebase-station whitespace devices; selecting from the plurality ofbase-station whitespace devices, by the base-station array controller,another base-station whitespace device based on the power consumptionprofiles, the determined available transmission channels, and thelocation of the identified user whitespace device relative to thelocations of the base-station whitespace devices; and instructing, bythe base-station array controller, the selected other base-stationwhitespace device to communicate with the identified user whitespacedevice on one of the identified available transmission channels.
 11. Theapparatus of claim 7 wherein identifying for each base-stationwhitespace device, by the base-station array controller, transmissionchannels available to the base-station whitespace device includesretrieving from a spectrum-map database, by the base-station arraycontroller, spectrum maps indicating transmission channels available tothe plurality of base-station whitespace devices within the base-stationarray.
 12. The apparatus of claim 7 wherein the base-station arrayincludes a first base-station whitespace device with a fixed locationwithin the coverage area of the base-station array and a secondbase-station whitespace device that is mobile whitespace device.
 13. Acomputer program product for controlling communication betweenwhitespace devices, the computer program product disposed upon acomputer readable medium, the computer program product comprisingcomputer program instructions capable, when executed, of causing acomputer to carry out the steps of: identifying, by a base-station arraycontroller, a user whitespace device within a coverage area of abase-station array, wherein the base-station array includes a pluralityof base-station whitespace devices of varying power consumptionprofiles; identifying for each base-station whitespace device, by thebase-station array controller, transmission channels available to thebase-station whitespace device; selecting from the plurality ofbase-station whitespace devices, by the base-station array controller, abase-station whitespace device based on the power consumption profilesand the identified available transmission channels corresponding to theplurality of base-station whitespace devices; and instructing, by thebase-station array controller, the selected base-station whitespacedevice to communicate with the identified user whitespace device on oneof the identified available transmission channels.
 14. The computerprogram product of claim 13 wherein selecting from the plurality ofbase-station whitespace devices, by the base-station array controller, abase-station whitespace device is further based on a location of theidentified user whitespace device relative to locations of thebase-station whitespace devices.
 15. The computer program product ofclaim 13 wherein selecting from the plurality of base-station whitespacedevices, by the base-station array controller, a base-station whitespacedevice is further based on throughput requirements of the identifieduser whitespace device.
 16. The computer program product of claim 13further comprising computer program instructions capable, when executed,of causing a computer to carry out the steps of: detecting, by thebase-station array controller, a change in a location of the whitespaceuser device relative to locations of the base-station whitespacedevices; selecting from the plurality of base-station whitespacedevices, by the base-station array controller, another base-stationwhitespace device based on the power consumption profiles, thedetermined available transmission channels, and the location of theidentified user whitespace device relative to the locations of thebase-station whitespace devices; and instructing, by the base-stationarray controller, the selected other base-station whitespace device tocommunicate with the identified user whitespace device on one of theidentified available transmission channels.
 17. The computer programproduct of claim 13 wherein identifying for each base-station whitespacedevice, by the base-station array controller, transmission channelsavailable to the base-station whitespace device includes retrieving froma spectrum-map database, by the base-station array controller, spectrummaps indicating transmission channels available to the plurality ofbase-station whitespace devices within the base-station array.
 18. Thecomputer program product of claim 13 wherein the base-station arrayincludes a first base-station whitespace device with a fixed locationwithin the coverage area of the base-station array and a secondbase-station whitespace device that is mobile whitespace device.
 19. Thecomputer program product of claim 13 wherein the computer readablemedium further comprises a computer readable signal medium.
 20. Thecomputer program product of claim 13 wherein the computer readablemedium further comprises a computer readable storage medium.